/*
 * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */

package java.lang.annotation;

/**
 * Indicates that an annotation interface is automatically inherited.  If
 * an Inherited meta-annotation is present on an annotation interface
 * declaration, and the user queries the annotation interface on a class
 * declaration, and the class declaration has no annotation for this interface,
 * then the class's superclass will automatically be queried for the
 * annotation interface.  This process will be repeated until an annotation for
 * this interface is found, or the top of the class hierarchy (Object)
 * is reached.  If no superclass has an annotation for this interface, then
 * the query will indicate that the class in question has no such annotation.
 *
 * <p>Note that this meta-annotation interface has no effect if the annotated
 * interface is used to annotate anything other than a class.  Note also
 * that this meta-annotation only causes annotations to be inherited
 * from superclasses; annotations on implemented interfaces have no
 * effect.
 *
 * <p>用于指示注解接口可被自动继承。
 *
 * <p>若某个注解接口声明中存在 @Inherited 元注解，且用户在类声明上查询该注解接口时，该类声明未包含此接口的注解，则会自动在该类的超类中查询该注解接口。
 * 此过程将重复执行，直到找到该接口的注解，或到达类层级结构的顶端（Object 类）。若所有超类均未包含此接口的注解，则查询结果将显示当前类不存在该注解。
 *
 * <p>请注意：当被标注的接口用于标注类以外的元素时，此元注解接口不产生任何效果。
 * 同时需注意，此元注解仅导致注解从超类继承；已实现接口上的注解不会产生作用。
 *
 * @author  Joshua Bloch
 * @since 1.5
 * @jls 9.6.4.3 @Inherited
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Inherited {
}
